Knowing When to Stop

Cost Complexity Pruning


가지치기(pruning)는 크게 키운 나무에서 부분나무를 고르는 절차다. cost complexity pruning은 C_α(T) = RSS(T) + α|T|처럼 잔차제곱합에 끝점 수 |T|의 벌점을 더하고, 복잡도 매개변수(complexity parameter, α)가 커질수록 잎이 적은 부분나무를 고른다. α는 학습 자료로 추정하지 않고 교차검증 오차를 비교해 선택한다.

두 항RSS(T)는 학습 자료에 대한 적합 오차, α|T|는 잎 수에 비례하는 복잡도 벌점이다.
α = 0과 아주 큰 αα = 0이면 가장 큰 나무가, α가 아주 크면 뿌리 하나만 남은 나무가 선택된다.
선택 순서후보 α마다 교차검증 오차를 구해 가장 작은 값을 고르고, 그 α로 개발 자료 전체에 다시 학습한다. 테스트 자료는 마지막 평가에만 쓴다.

α가 커지면 RSS가 조금 커지더라도 잎이 적은 부분나무가 선택된다

잎 4개(RSS 2), 잎 2개(RSS 6), 잎 1개(RSS 14)인 세 부분나무가 후보다. α를 바꾸면 세 목적함수 값과 그 값이 가장 작은 나무가 바뀐다.

α에 따른 세 부분나무의 목적함수잎 4개, 2개, 1개 나무의 C_α 직선
가로축은 α, 세로축은 C_α다. 파란 실선이 잎 4개(2 + 4α), 진한 파란 긴 점선이 잎 2개(6 + 2α), 회색 짧은 점선이 잎 1개(14 + α)이고 기울기가 잎 수다. 두꺼운 초록 띠는 각 α에서 가장 작은 값을 이은 선이며 초록 점이 현재 α에서 선택된 나무다.

학습 오차는 α가 작을수록 작지만 교차검증 오차는 중간 크기의 나무에서 가장 작다

특성 하나짜리 학습 관측 80개로 끝까지 키운 회귀 트리를 α로 가지치기한다. α 후보를 바꾸면 남는 잎 수, 계단 모양 예측, 학습 MSE와 5겹 교차검증 MSE가 바뀐다.

α와 교차검증 오차가지치기한 나무의 예측과 α별 오차
왼쪽은 학습 관측과 현재 α로 가지치기한 나무의 계단 예측이다. 오른쪽 가로축은 α 후보를 작은 값부터 늘어놓은 것이고, 파란 실선이 학습 MSE, 초록 점선이 5겹 교차검증 MSE다. 세로 점선이 현재 α, 점선 원이 교차검증 MSE가 가장 작은 α다.

평균 오차가 비슷하면 표준오차와 나무의 크기도 함께 본다

설명용 예제로 잎 3개, 6개, 10개 나무의 평균 검증 MSE와 표준오차를 비교한다. 살펴볼 나무를 바꾸면 그 나무와 평균이 가장 작은 나무의 차이가 표시된다.

잎 수별 평균 검증 MSE와 표준오차세 나무의 평균과 표준오차 막대
점이 평균 검증 MSE, 세로 막대가 평균 ± 표준오차 범위다. 초록 점이 살펴보는 나무다.